#pragma once
#include <string>
//协议层
class INetProtocol
{
public:
	virtual ~INetProtocol(){};
    //获取文件大小
    virtual int64_t GetFileSize(const std::string& url) = 0;
    //下载文件指定区域
    virtual bool Download(const std::string& url,  int64_t beg, int64_t end) = 0;
    //获取数据流，可通过字符串流或文件流进行缓存
    virtual std::iostream& GetStream() = 0;
    //获取文件Md5
    virtual std::string GetContextMd5(const std::string &url) = 0;
};